// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
// 导入vue-resource的包
import VueResource from 'vue-resource'
// 手动安装vue-resource
Vue.use(VueResource)


//安装vue-Preview 缩略图插件
import VuePreview from 'vue-preview'
Vue.use(VuePreview);
 // import PhotoSwipe from 'photoswipe'
 // import 'photoswipe/dist/photoswipe.css'
 // import 'photoswipe/dist/default-skin/default-skin.css'
 // import 'photoswipe/dist/photoswipe.min.js'
 // import 'photoswipe/dist/photoswipe-ui-default.min.js'

/*//按需导入mint UI的组件和CSS库
import { Header,Swipe, SwipeItem, Button,Lazyload} from 'mint-ui';
import 'mint-ui/lib/style.css';
Vue.use(Lazyload);
// 注册一下mint UI上的全局组件
Vue.component(Header.name, Header);
Vue.component(Swipe.name, Swipe);
Vue.component(SwipeItem.name, SwipeItem);
Vue.component(Button.name, Button)
Vue.config.productionTip = false*/
// 因为懒加载不能实现，导入全部的组件，有懒加载的效果
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
Vue.use(MintUI)
// 导入MUI的css库和js库
import './lib/mui-master/dist/css/mui.min.css'
import './lib/mui-master/dist/css/icons-extra.css'
import './lib/mui-master/dist/fonts/mui-icons-extra.ttf'
import  './lib/mui-master/dist/js/mui.min.js'

// 配置根域名
Vue.http.options.root = 'http://www.liulongbin.top:3005';
Vue.http.options.emulateJSON=true;
// 全局的过滤器要写在main.js
// 

// Vue.filter('dateFormat',function(data){
// 			var dataFormat= new Date(data);
// 			var yy = dataFormat.getFullYear();
// 			var mm = dataFormat.getMonth()+1;
// 			var dd = dataFormat.getDate();
// 			return `${yy}-${mm}-${dd}`;
// 			// 返回一个模板字符串
// 		});
//导入时间插件
import moment from 'moment'
Vue.filter('dateFormat',function(dataStr,pattern="YYYY-MM-DD HH:mm:ss"){
	 return moment(dataStr).format(pattern);
});
// 导入一个全局组件
// import  commitComponent from'./components/subComponents/commit.vue'
/* eslint-disable no-new */
//导入 vuex
import Vuex from 'vuex'
Vue.use(Vuex)
 var cart_info = JSON.parse(localStorage.getItem("cart")||'[]');

//创建vuex的store
const store = new Vuex.Store({
  state: {
    cart:cart_info,
  },
  mutations: {
    saveGoodsInfo:function(state,obj){
 
    	 var flag = false;
    	 //如果购物车已经存在这个商品
    	 state.cart.some(item =>{
    		if(item.id==obj.id)
    		{	item.num = item.num+obj.num;
    			console.log(item.num);
    			flag = true;
    			return true;
    		}
    	});
    	 	if(flag == false)
    	 	{
    	 		//购物车不存在这个商品
    		state.cart.push(obj);
    	 	}
    			
    		
    	},
    	remove(state,id){
    		state.cart.some((item,i)=>{
    			if(item.id == id)
    			{
    				state.cart.splice(i,1);
    			}
    		});
    	}
    },
  
  //getters有computed计算属性的功能和过滤器，将state的数据包装输出的功能
  //我们要计算购物车的总数量，只要某个商品的数量发生变化，cart发生变化，则购物车商品的总数量就会变化
  //第一个参数必须是state
  getters:{
  	optNum:function(state){
  		var cartNum = 0;
  		state.cart.forEach(item =>{
  			cartNum = cartNum+item.num;
  		});
  		return cartNum;
  	}

  }
});
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>',
  store
})
